1. Field of the Disclosure
The disclosure relates generally to business intelligence systems and, more particularly, to business intelligence systems with browser interfaces.
2. Brief Description of Related Technology
Business intelligence software has supported a wide variety of business functions. Software solutions are commonly applied in performance analysis, ad hoc reporting, and competitive analysis, to name but a few of the functions supported. As a result, a broad array of business areas routinely rely on business intelligence software, including manufacturing, distribution, purchasing, accounting, personnel management, product planning, inventory maintenance, sales, and customer service. The often vast amounts and types of enterprise data generated by these frequently disparate business areas are usually stored in one or more database management systems (DBMS) accessible to the business intelligence solution.
Business intelligence software applications also typically rely on data schemes involving metadata (in one aspect, data about data) to describe the wide-ranging nature and relationships of the enterprise data stored in the DBMS. For example, the metadata for a business application can be used to specify the definitions, sources and relationships of enterprise data. Another layer of metadata may then specify the manner in which customized arrangements of information detailing, for instance, customer sales orders or inventory status, are generated from the tables, attributes, and other data constructs supported by the databases.
Data schemes and other metadata become especially useful as a database is accessed by areas of the enterprise other than the area directly responsible for populating the database. Business intelligence software applications have been developed to address the challenges and complexity in sharing and utilizing information among different information systems and databases, as well as a wide range of users. For instance, some solutions can compile and manage the information from the various data sources within and outside of the organization. These solutions include SAP BusinessObjects, Microsoft Business Intelligence, Oracle Business Intelligence, and IBM Cognos. These products can be used to establish a networked environment in which user interfaces are rendered at a client within a browser.
The user interfaces of IBM Cognos and other business intelligence software applications provide browser-based development interfaces (commonly referred to as studios) to support the development and presentation of the interfaces of the end user environment. The end user interfaces may be structured in the form of reports, analytical views, scorecards, dashboards, event sequences, etc. These objects of the environment are authored within the studios utilizing a metadata model characterizing the various data sources, data types, data relationships, data filters, naming conventions, etc. A definition of each object of the environment stores the metadata defining the elements of the object, such as an aesthetic feature or a data construct that populates the report layout and data at runtime. The object definition is stored in a shared repository (commonly referenced in IBM Cognos as the Content Store) by the author through execution of a “save” operation made available via each studio interface.
The object authoring process is often iterative. In many cases, an author of an object definition proposes a first version to consumers or end users to obtain comments and feedback. The comments can include suggestions for changes that are then incorporated into a subsequent version of the object definition. A variety of other circumstances can lead to modifications, including underlying changes to the metadata model, peer review, institutional checkpoints in the development process, and debugging efforts. Still further modifications can occur throughout the lifecycle of an object after the object has been released for use.
Some iterations and modifications can involve reverting back to a previous version of the object. Reversion can be useful, as changes to an object definition can introduce errors or undesired results. An effort to address those errors or results can benefit from a recovery or review of a previous version of the object definition.
Because an object definition is typically saved as a distinct item or object in a database table, authors can preserve previous versions by modifying the reference name for the object definition. For instance, varying the name with an extension (e.g., v1, v2, etc.) prevents the save operation from overwriting the object definition saved for the previous version. This informal, manual approach is prone to error and inconsistency, as the author may fail to remember to rename the object before initiating each successive save operation.
Commercially available software has attempted to preserve previous versions of IBM Cognos object definitions by automatically inspecting the IBM Cognos system on a periodic basis to determine if any object definitions have changed since the previous inspection. If a definition has changed, the object definition is captured and stored as a new version of the object. Further details regarding the software may be found in U.S. Patent Publication No. 2007/0174069.
However, periodic inspections may fail to capture intermediate revisions. A potential disconnect between the version history and the actual history of updates arises when more than one save operation occurs between successive inspections. Unfortunately, simply increasing the rate at which inspections occur may not eliminate the problem, as scanning all object definitions within the IBM Cognos system may, for example, require an undesirably long period of time.